﻿#pragma once

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

//动态顺序表
typedef int SLType; //数据类型

typedef struct SeqList
{
	SLType* arr;
	int size; //有效数据个数
	int capacity; //空间大小
}SL;


//初始化顺序表的声明
void SLInit(SL* ps);

//顺序表的尾插的声明
void SLPushBack(SL* ps, SLType);

//顺序表的打印的声明
void SLPrint(SL* ps);

//空间的扩容的声明
void SLCheckCapacity(SL* ps);

//顺序表的头插的声明
void SLPushFront(SL* ps, SLType x);

//顺序表的尾删的声明
void SLPopBack(SL* ps);

//顺序表的头删的声明
void SLPopFront(SL* ps);

//指定位置之前插⼊数据
void SLInsert(SL* ps, int pos, SLType x);//pos--要插入的位置的下标

//指定位置之前删除数据
void SLErase(SL* ps, int pos);

//查找
int SLFind(SL* ps, SLType x);

//顺序表的销毁的声明
void SLDestroy(SL* ps);
